/**
 * 
 */
F.module('lib/template', function() {
    /**
     * 传入对象，直接渲染；传入数组，遍历数组逐一渲染
     */
    var _TplEngine = function(str, data) {
        if (data instanceof Array) {
            var html = '',
                i = 0,
                len = data.length;
            for(; i < len; i++) {
                //缓存模板渲染结果
                // 高级写法 html += arguments.callee(str, data[i]);
                html += _getTpl(str)(data[i]);
            }
            return html;
        } else {
            return _getTpl(str)(data);
        }
    },
    /**
     * 获取模板
     */
        _getTpl = function(str) {
            var ele = document.getElementById(str);
            if (ele) {
                var html = /^(textarea|input)$/i.test(ele.nodeName) ? ele.value : ele.innerHTML;
                return _compileTpl(html);
            } else {
                return _compileTpl(str);
            }
        },
        _dealTpl = function(str) {
            var _left = '{%',
                _right = '%}';
            return String(str)
                    .replace(/&lt;/g, '<')
                    .replace(/&gt;/g, '>')
                    .replace(/[\r\t\n]/g, '');
        },
        _compileTpl = function() {
            var template_array = [];
            var fn = (function(data) {
                var template_key = '';
                for(key in data) {
                    template_key += ('var ' + key + '=data[\"' + key + '\"];');
                    template_key = null;
                }
            })(templateData);
            fn = null;
            return template_array.join('');
        };
    return _TplEngine;
})

F.module(['lib/template'], function(template) {})
 